home *** CD-ROM | disk | FTP | other *** search
- STATUS:
- Tested on a Sun3/60 and a Sun4/260 running SunOS4.1.1, using a PacComm
- Tiny-2 TNC, and talking with other NOS sites in Calgary, Alberta.
-
- INSTALL:
- 0. Substitute the name 'KERNEL_CONFIG_FILE' in the following steps with the
- kernel configuration file for your new kernel (If in doubt, make a copy
- of GENERIC, and use it).
- Also, substitute 'sun3' with whatever the command 'arch -k' says
- your kernel architecture is.
-
- 1. First, you need to add the device driver to the kernel. Add this line to
- /usr/sys/sun3/conf/KERNEL_CONFIG_FILE.
- pseudo-device ax1 init ax_attach
- ^ this number determines how many TNCs you can hook up.
-
- 2. splice these sections in the appropriate (fairly obvious) places in
- /usr/sys/sun/str_conf.c
- #include "ax.h"
-
- #if NAX > 0
- extern struct streamtab axinfo;
- #endif
-
- #if NAX > 0
- { "ax25", &axinfo },
- #endif
-
- 3. add this line to /usr/sys/conf.common/files.cmn
- os/tty_ax.c optional ax
-
- 4. Install the needed files in the kernel sys tree
- # cp tty_ax.c /usr/sys/os
- # cp if_ax.h /usr/include/sys
- # cp if_ax.h /usr/sys/sys
-
- 5. Build the kernel
- # cd /usr/sys/sun3/conf
- # config KERNEL_CONFIG_FILE
- # cd ../KERNEL_CONFIG_FILE
- # make
- # mv /vmunix /vmunix.save
- # cp vmunix /vmunix
-
- 6. Reboot your machine to start up the new kernel.
-
- 7. Now, build the two user level programs: ax25ether and ax25, and give
- it a try.
- # make
-
- 8. Put your hostname in /etc/hosts with the correct IP address.
- 44.135.145.28 ve6uug-0
-
- 9. Ensure that the netmask for network #44 is correct. Ussually it should
- be 0xffffff00. Put that in /etc/netmasks, like this.
- 44 255.255.255.0
- (If you are running YP, you may need to rebuild the databases.
- # (cd /var/yp; make)
- )
-
- 10. Ensure your TNC is in KISS mode, with the proper KISS timing parameters
- already set. Now we can start up the interface.
-
- # ./ax25 -v ve6uug-0 ve6uug-0 /dev/ttyb
- popping module: ttcompat
- popping module: ldterm
- pushing module: ax25
- network device: ax0
- addresses: ax25 ac.8a.6c.aa.aa.8e.60 'VE6UUG-0' = ether 99:da:55:b5:d6:70
- execute: ifconfig ax0 ve6uug-0 netmask + broadcast + up
- Setting netmask of ax0 to 255.255.255.0
-
- The first instance of your callsign is resolved according to /etc/hosts
- to generate an IP address. The second instance of your callsign determines
- what your AX25 hardware address is, which is what other parties use to
- actually send a packet to your hardware.
-
- 11. Check to see if the interface has come up.
- # netstat -in
- Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
- le0 1500 136.159.222.0 136.159.222.1 3871 0 1847 0 0 0
- lo0 1536 127.0.0.0 127.0.0.1 339 0 339 0 0 0
- ax0 1000 44.135.145.0 44.135.145.28 0 0 0 0 0 0
-
- 12. Try to talk to a few other hosts, ie. telnet, finger, etc.
-
- BUGS:
- Generally, etherfind seems to work, but only on the second and successive
- attempts. The first attempt fails with an NIOCBIND error. No idea why.
-
- Packets with digipeater addresses in their header are dropped on the floor
- immediately. Proper digipeater support cannot be easily added. (My opinion:
- digipeating is a dumb idea).
-
- DTR behaviour: M_HANGUP and M_UNHANGUP streams messages are not handled
- correctly. Currently, it's best to <snip> your TNC's DTR line.
-
- OTHER NOTES:
- The kernel ARP routines can only deal with 6 byte ethernet addresses. A
- bizzare encoding scheme is used to encode AX25 7-byte addresses into these
- 6-byte addresses. When AX25 addresses are converted, the resulting ethernet
- addresses always have their upper byte set to 0x99. The program ax25ether
- will convert between AX25 addresses and ethernet addresses as shown using
- the arp command.
-